/*
 * @版权所有(C): 1999-2021,西安交大捷普网络科技有限公司
 * @FilePath: \client\baselib\LibJumpXml\JumpXml.h
 * @作者: 岳保保
 * @Date: 2023-01-05 13:40:39
 * @功能描述: jumpxml格式化工具
 */
#ifndef XML_ITEM_H
#define XML_ITEM_H

#include <string>
#include <vector>
#include "StringUtils.h"
#include "tinyxmlHelper.h"

class JumpObjet;
class XmlItem : public tinyxml2::XMLPrinter
{
public:

    /**
     * @功能描述: 无参构造函数
     * @入参参数: void
     * @返回值: void
     */
    XmlItem();

    /**
     * @功能描述: 析构函数
     * @入参参数: void
     * @返回值: void
     */
    virtual ~XmlItem();

    /**
     * @功能描述: 添加xml头
     * @入参参数: xml版本号
     * @返回值: void
     */
    void pushXmlHeader(const std::string& version, const std::string& encoding);
public:

    /**
    * @功能描述: 获取element的element
    * @入参参数: element 节点名称
    * @返回值: 节点名称
    */
    static tinyxml2::XMLElement* getXmlChildeEleByName(tinyxml2::XMLElement* parentElement, const std::string& memberName);

    /**
     * @功能描述: 获取element的属性
     * @入参参数: element 属性名称
     * @返回值: 属性节点
     */
    static tinyxml2::XMLAttribute* getXmlChildAttrByName(tinyxml2::XMLElement* element, const std::string& memberName);
};
#endif // !XML_ITEM_H

